package io.rackshift.metal.sdk.model;

import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ReflectionToStringBuilder;

import java.io.Serializable;

public class Disk implements Serializable {
    @ApiModelProperty("")
    private String id;

    @ApiModelProperty("物理机id")
    private String physicalMachineId;

    @ApiModelProperty("用于组raid的enclosure_id，需要使用perccli或者storcli工具去获取,raid使用")
    private Integer enclosureId;

    @ApiModelProperty("磁盘控制器id，一般是0，如果有多块raid卡数值可能不一样,raid使用")
    private Integer controllerId;

    @ApiModelProperty("磁盘id，raid使用")
    private String drive;

    @ApiModelProperty(" 磁盘类型")
    private String type;

    @ApiModelProperty("磁盘容量（GB）")
    private String size;

    @ApiModelProperty("raid类型")
    private String raid;

    @ApiModelProperty("raid虚拟磁盘的名称，如VD0")
    private String virtualDisk;

    @ApiModelProperty("制造商")
    private String manufactor;

    @ApiModelProperty("同步时间")
    private Long syncTime;

    @ApiModelProperty("磁盘序列号")
    private String sn;

    @ApiModelProperty("磁盘型号")
    private String model;

    @ApiModelProperty("硬件状态:0 存量，1 新增， 2 删除")
    private Byte status;

    /**
     * This field was generated by MyBatis Generator.
     * This field corresponds to the database table physical_disk
     *
     * @mbg.generated
     */
    private static final long serialVersionUID = 1L;

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column physical_disk.id
     *
     * @return the value of physical_disk.id
     * @mbg.generated
     */
    public String getId() {
        return id;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column physical_disk.id
     *
     * @param id the value for physical_disk.id
     * @mbg.generated
     */
    public void setId(String id) {
        this.id = id == null ? null : id.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column physical_disk.physical_machine_id
     *
     * @return the value of physical_disk.physical_machine_id
     * @mbg.generated
     */
    public String getBareMetalId() {
        return physicalMachineId;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column physical_disk.physical_machine_id
     *
     * @param physicalMachineId the value for physical_disk.physical_machine_id
     * @mbg.generated
     */
    public void setBareMetalId(String physicalMachineId) {
        this.physicalMachineId = physicalMachineId == null ? null : physicalMachineId.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column physical_disk.enclosure_id
     *
     * @return the value of physical_disk.enclosure_id
     * @mbg.generated
     */
    public Integer getEnclosureId() {
        return enclosureId;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column physical_disk.enclosure_id
     *
     * @param enclosureId the value for physical_disk.enclosure_id
     * @mbg.generated
     */
    public void setEnclosureId(Integer enclosureId) {
        this.enclosureId = enclosureId;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column physical_disk.controller_id
     *
     * @return the value of physical_disk.controller_id
     * @mbg.generated
     */
    public Integer getControllerId() {
        return controllerId;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column physical_disk.controller_id
     *
     * @param controllerId the value for physical_disk.controller_id
     * @mbg.generated
     */
    public void setControllerId(Integer controllerId) {
        this.controllerId = controllerId;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column physical_disk.drive
     *
     * @return the value of physical_disk.drive
     * @mbg.generated
     */
    public String getDrive() {
        return drive;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column physical_disk.drive
     *
     * @param drive the value for physical_disk.drive
     * @mbg.generated
     */
    public void setDrive(String drive) {
        this.drive = drive == null ? null : drive.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column physical_disk.type
     *
     * @return the value of physical_disk.type
     * @mbg.generated
     */
    public String getType() {
        return type;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column physical_disk.type
     *
     * @param type the value for physical_disk.type
     * @mbg.generated
     */
    public void setType(String type) {
        this.type = type == null ? null : type.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column physical_disk.size
     *
     * @return the value of physical_disk.size
     * @mbg.generated
     */
    public String getSize() {
        return size;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column physical_disk.size
     *
     * @param size the value for physical_disk.size
     * @mbg.generated
     */
    public void setSize(String size) {
        this.size = size == null ? null : size.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column physical_disk.raid
     *
     * @return the value of physical_disk.raid
     * @mbg.generated
     */
    public String getRaid() {
        return raid;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column physical_disk.raid
     *
     * @param raid the value for physical_disk.raid
     * @mbg.generated
     */
    public void setRaid(String raid) {
        this.raid = raid == null ? null : raid.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column physical_disk.virtual_disk
     *
     * @return the value of physical_disk.virtual_disk
     * @mbg.generated
     */
    public String getVirtualDisk() {
        return virtualDisk;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column physical_disk.virtual_disk
     *
     * @param virtualDisk the value for physical_disk.virtual_disk
     * @mbg.generated
     */
    public void setVirtualDisk(String virtualDisk) {
        this.virtualDisk = virtualDisk == null ? null : virtualDisk.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column physical_disk.manufactor
     *
     * @return the value of physical_disk.manufactor
     * @mbg.generated
     */
    public String getManufactor() {
        return manufactor;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column physical_disk.manufactor
     *
     * @param manufactor the value for physical_disk.manufactor
     * @mbg.generated
     */
    public void setManufactor(String manufactor) {
        this.manufactor = manufactor == null ? null : manufactor.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column physical_disk.sync_time
     *
     * @return the value of physical_disk.sync_time
     * @mbg.generated
     */
    public Long getSyncTime() {
        return syncTime;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column physical_disk.sync_time
     *
     * @param syncTime the value for physical_disk.sync_time
     * @mbg.generated
     */
    public void setSyncTime(Long syncTime) {
        this.syncTime = syncTime;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column physical_disk.sn
     *
     * @return the value of physical_disk.sn
     * @mbg.generated
     */
    public String getSn() {
        return sn;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column physical_disk.sn
     *
     * @param sn the value for physical_disk.sn
     * @mbg.generated
     */
    public void setSn(String sn) {
        this.sn = sn == null ? null : sn.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column physical_disk.model
     *
     * @return the value of physical_disk.model
     * @mbg.generated
     */
    public String getModel() {
        return model;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column physical_disk.model
     *
     * @param model the value for physical_disk.model
     * @mbg.generated
     */
    public void setModel(String model) {
        this.model = model == null ? null : model.trim();
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method returns the value of the database column physical_disk.status
     *
     * @return the value of physical_disk.status
     * @mbg.generated
     */
    public Byte getStatus() {
        return status;
    }

    /**
     * This method was generated by MyBatis Generator.
     * This method sets the value of the database column physical_disk.status
     *
     * @param status the value for physical_disk.status
     * @mbg.generated
     */
    public void setStatus(Byte status) {
        this.status = status;
    }

    @Override
    public String toString() {
        return ReflectionToStringBuilder.toString(this);
    }
}